Given a database of objects (with multiple attributes), a query object and information about how the attributes are dependent on each other, or interact with each other, output a set of objects that are most relevant according to the information about the interactions and dependencies.
Consider the example of servers, a specific type of object(s) prevalent in the information technology industry. In general, servers have many attributes, some of which are compensatory and some of which are independent. For example, compensatory attributes can include attributes that influence performance (for example, less cache size can be compensated by faster speeds of processors). Additionally, by way of example, Java capability of a server can be assessed by assessing the maximum capability (for example, Java version) of the various Java related software. Independent attributes can include, for example, central processing unit (CPU) speed and hard disk space.
Retrieval using a skyline operator can include the following. Based on a query object, an object A is dominated by another object B if for every attribute i, Bi<Ai where Bi represents the dissimilarity of B to the query on attribute i. However, the lack of quality in one attribute cannot be compensated by the value of any other attribute. Also, for sparse datasets or for datasets with a large number of attributes, the set of results returned by a skyline query becomes too huge and unusable. Further, skyline assumes fully independent attributes, which is rarely the case. Also, the skyline operator induces a partial order among the objects with respect to the query.
Top-K retrieval using aggregation operators can include the following. Every object has a quality measure, and the aggregate of the similarity to the query object is based on various attributes. Top-K aggregation functions usually return a single quality measure, which induces a total order of objects. Also, a user is required to specify a weight vector in certain cases where aggregation requires a weight vector. However, top-K aggregations assume that every attribute can be influenced by any other attribute, and there exist common real-world scenarios where that is not the case.
As such, existing retrieval systems compose attributes using a single operator. It would be desirable, however, to compose a model for combining attributes using various similarity operators for use in a similarity search.